package com.ctshk.rpc.finance.dto.paidin;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 申请付款-付款预订单列表Dto
 */
@Data
@ApiModel(value = "PaidInPreOrderListDTO",description = "申请付款-付款预订单列表Dto")
public class PaidInPreOrderListDTO implements Serializable {

    @ApiModelProperty(value = "供应商预订单ID")
    private Long orderId;

    @ApiModelProperty(value = "订单类型")
    private Integer orderType;

    @ApiModelProperty(value = "业务类型")
    private Integer businessType;

    @ApiModelProperty(value = "订单号")
    private String orderNumber;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "资源所属部门")
    private String department;

    @ApiModelProperty(value = "销售单号(通用)")
    private String saleNumber;

    @ApiModelProperty(value = "产品编号(通用)")
    private String productNumber;

    @ApiModelProperty(value = "产品名称(通用)")
    private String productName;

    @ApiModelProperty(value = "总金额")
    private BigDecimal totalFee;

    @ApiModelProperty(value = "币种")
    private String currencyName;

    @ApiModelProperty(value = "应付金额")
    private BigDecimal payableAmount;

    @ApiModelProperty(value = "本位币金额")
    private BigDecimal standardAmount;

    @ApiModelProperty(value = "付款类型ID")
    private Long payTypeId;

    @ApiModelProperty(value = "付款类型")
    private String payType;

    @ApiModelProperty(value = "供应商期望付款时间")
    private LocalDateTime expectedPayTime;

    @ApiModelProperty(value = "供应商订单号")
    private String supplierOrderNumber;

    @ApiModelProperty(value = "使用资源编号")
    private String resourceNumber;

    @ApiModelProperty(value = "使用资源产品名称")
    private String resourceInfo;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "未付金额")
    private BigDecimal unpayAmount;

    @ApiModelProperty(value = "已付金额")
    private BigDecimal paidAmount;

    @ApiModelProperty(value = "本次付款金额")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "对账单号")
    private String reconciliationNumber;

    @ApiModelProperty(value = "对账单ID")
    private Long reconciliationId;

    @ApiModelProperty(value = "预订单创建时间")
    private LocalDateTime orderCreateTime;

    @ApiModelProperty(value = "创建人姓名")
    private String createUserName;

    @ApiModelProperty(value = "创建人部门")
    private String createUserDept;

    @ApiModelProperty(value = "付款状态")
    private Integer payStatus;

}
